package com.huitone.gddw.dao.monitoring;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.ObjectDef;
import com.huitone.gddw.dao.entity.ObjectManagement;
import com.huitone.gddw.service.dto.monitoring.base.ObjectDefDTO;

public interface IObjectDefDao {
	/**
	 * 获取所有对象信息
	 * @return List<ObjectManagement>
	 */
	List<ObjectManagement>getAll();
	
	/**
	 * 查询总数
	 * @param map
	 * @return
	 */
    int selectCount(Map<String,Object> map);
    /**
     * 页面列表查询
     * @param map
     * @return
     */
    List<ObjectDefDTO> selectPage(Map<String,Object> map);
    
	/**
	 * 逻辑删除
	 * @param objId
	 * @return
	 */
	Integer delByObjId(String objId);
	
	/**
	 * 删除
	 * @param objId
	 * @return
	 */
	Integer deleteByPrimaryKey(String objId);
    /**
     * 新增
     * @param record
     * @return
     */
    int save(ObjectDef record);
    
    /**
     * 根据id 获取唯一记录ObjectDefDTO
     * @param objId
     * @return ObjectDefDTO
     */
    ObjectDefDTO findOne(String objId);
    
    /**
     * 根据id 获取唯一记录ObjectDef
     * @param objId
     * @return ObjectDef
     */
    ObjectDef getById(String objId);
    /**
     * 根据对象类型获取相应的对象
     * @param objType
     * @return List<ObjectDef>
     */
    List<ObjectDef> getByObjType(String objType);
    
//    int insertSelective(ObjectDef record);
//
//    ObjectDef selectByPrimaryKey(String objId);
//
//    int updateByPrimaryKeySelective(ObjectDef record);
    /**
     * 修改
     * @param record
     * @return
     */
    int update(ObjectDef record);
}